#ifndef InputAction_h
#define InputAction_h

class cInputAction {

public:
	void Init();
	void Update(float lfTimeStep, float lfValue);
	inline bool GetIsPressed() const			{ return mbIsPressed;		}
	inline bool GetIsReleased() const		{ return !mbIsPressed;		}
	inline bool GetBecomePressed() const	{ return mbBecomePressed;	}
	inline bool GetBecomeReleased() const	{ return mbBecomeReleased;	}
	inline float GetPressedTime() const		{ return mfTimePressed;		}
	inline float GetValue() const				{ return mfValue;				}

private:
	float mfValue;
	float mfTimePressed;
	bool mbIsPressed;
	bool mbWasPressed;
	bool mbBecomeReleased;
	bool mbBecomePressed;
};
#endif